Adguard Home:您家庭的网络守护者
Adguard Home 安装方式主要分为两大类,Linux 系统当 DNS 服务器使用,以及 Windows、Android、Mac、iOS、浏览器插件这样的终端使用。
1 非 Linux 端安装
1.1 Windows 端

下载后,默认安装路径是 C:\Program Files\AdGuard ,打开 设置 > DNS 保护 > 系统默认 > 添加用户 DNS 服务器
1.2 Android 端

1.3 MAC 端
1.4 iOS 端
1.5 浏览器插件
2 Linux 端安装 (强烈推荐)
2.1 Linux 一键自动安装
# 这三个命令都行,前提是安装了curl wget fetch
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
fetch -o - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v2.2 基于 OpenWRT 安装 Adguard Home (强烈推荐)
2.2.1 认识处理器
首先需要我们认识一下,你 OpenWRT 的硬件是 x86 还是 arm 32 位 或者 arm 64 位,下面这三个固件我会给一个网盘。
# x86 处理器
AdGuardHome_v0.107.64_x86_64.run
# arm 32位
AdGuardHome_v0.107.64_aarch32.run
# arm 64位
AdGuardHome_v0.107.64_aarch64.run2.2.2 iStore 商店安装
安装方法很简单,假如有 iStore 商店,那么直接把对应的 .run 文件拖到手动安装就可以。

假如你没有 iStore 商店,那么可以用下面命令一键安装。
# 一键安装 iStore 商店
wget -qO imm.sh https://cafe.cpolar.top/wkdaily/zero3/raw/branch/main/zero3/imm.sh && chmod +x imm.sh && ./imm.sh
2.2.3 非 iStore 商店安装
通过 shell 软件上传 .run 文件到 OpenWRT,记住这个上传的路径,然后运行下面代码。
# 找到 .run 文件路径
cd /路径地址
# 安装 .run
sh xxx.run
# 假设上传到 /mnt 下
# 例如
cd /mnt
sh AdGuardHome_v0.107.64_aarch64.run安装完成后刷新 OpenWRT 会看到这样的界面。

2.3 docker 安装 Adguard Home (强烈推荐)
我先把我的 docker 树目录再放出来,方便你修改路径,如果和我一样的路径就不需要修改。docker 安装方式主要可以有两种,一种是网卡桥接,另外一种是采用docker 的 macvlan 虚拟网卡,好处就是这个 docker 项目,可以使用独立的 IP。
/root根目录
├── mnt
| ├── docker
| ├── apps
| ├── adguardhome
| ├── data # 数据存储路径
| ├── conf # 配置文件路径
| ├── rule # rule文件路径
| ├── docker-compose.yaml # adg 安装yaml文件2.3.1 准备工作
创建 docker-compose.yaml 文件,并且上传到路径 /mnt/docker/apps/adguardhome 文件夹下,如果没有就用命令行新建文件夹以及新建 yaml 文件,也可以用 XTerminal 软件上传 yaml 文件。
# 创建 AdguardHome 文件夹
mkdir -p /mnt/docker/apps/adguardhome
# 创建 docker-compose.yaml
cd /mnt/docker/apps/adguardhome
nano docker-compose.yaml
# 将内容复制进去
ctrl+x 按 y 退出保存
# 拉取镜像并且启动docker
docker compose pull && docker compose up -d

2.3.2 桥接
如果你的880、881、882、53、853、8853端口被其他占用,可以修改,如果是 debian、Ubuntu 这样的 Linux 系统可能 53 端口不会被占用,但是如果是 OpenWRT 系统那么,默认是被 dnsmasq 占用了,所以把 53 端口改成 953 端口。当然也可以禁用 dnsmasq , 那么 adguardhome 就可以使用 53 端口。
所以我们需要在 debian 系统中先开启880、881、882、53、853几个端口,命令如下。
# 切换 root 用户
sudo -i
# 安装 ufw
apt install ufw
# 确保 ufw 处于活跃状态
ufw status verbose
# 开启 880 881 882 tcp udp
ufw allow 880:882
# 开起 53 853 tcp 和 udp
ufw allow 53
ufw allow 853
# 开启防火墙
ufw enable
# ufw 重载
ufw reload
# 查看防火墙 ufw
ufw status开启端口以后,那么创建 docker-compsoe.yaml 文件并且上传到对应文件夹内。
# 官方文档
# https://hub.docker.com/r/adguard/adguardhome
# 2025-08-19 更新了端口
# ---
name: adguardhome
# 最后编辑时间:2025-08-19
services:
adguardhome:
# 镜像地址
image: adguard/adguardhome:latest
# 容器名称
container_name: adguardhome
# 主机名
hostname: adguardhome
# 路径
volumes:
# 数据存储路径
- /mnt/docker/apps/adguardhome/data:/opt/adguardhome/work
# 配置文件路径
- /mnt/docker/apps/adguardhome/conf:/opt/adguardhome/conf
# 分流规则路径
- /mnt/docker/apps/adguardhome/rule:/opt/adguardhome/rule
# 网络模式:桥接
network_mode: bridge
ports:
# 需要开放的端口 880,881,882,53,853
# 8853
# DNS 基础端口(需同时开放 TCP/UDP)
- 53:53/tcp # 标准 DNS 协议端口(TCP,用于大型 DNS 响应)
- 53:53/udp # 标准 DNS 协议端口(UDP,常规 DNS 请求)
# 加密 DNS DoT 协议端口
- 853:853/tcp # DNS-over-TLS (DoT),加密 DNS 通信
- 853:853/udp # DNS-over-QUIC (DoQ),基于 UDP 的低延迟加密协议
#- 8853:8853/udp # 备用 DoQ 端口(部分客户端兼容性需求)
# 加密 DNS DoH 协议端口
- 880:443/tcp
- 880:443/udp
# 重定向 HTTP WebUI 管理端口
- 881:80/tcp # HTTP 管理界面(原 80 → 880,建议仅临时使用)
- 881:80/udp
- 882:3000/tcp # WebUI 控制台端口(原 3000 → 882,主管理入口)
- 882:3000/udp
# 重启策略,总是重启
restart: always输入命令安装并且启动,打开网页 http:192.168.3.x:882 就可以打开 Adguard Home 初始化界面。


2.3.3 macvlan 虚拟网卡
因为是使用 macvlan 虚拟网卡,那么 IP 是独立的,所以80、443、53、853、3000端口都不会被占用。
# 官方文档
# https://hub.docker.com/r/adguard/adguardhome
# 在ssh输入
# ip addr
# 获取到ip那个就是网卡名称,比如br-lan,enp5s0
# ---
name: adguardhome
# 最后编辑时间:2025-08-19
services:
adguardhome:
# 镜像地址
image: adguard/adguardhome:latest
# 容器名称
container_name: adguardhome
# 主机名
hostname: adguardhome
# 路径
volumes:
# 数据存储路径
- /mnt/docker/apps/adguardhome/data:/opt/adguardhome/work
# 配置文件路径
- /mnt/docker/apps/adguardhome/conf:/opt/adguardhome/conf
# rule文件路径
- /mnt/docker/apps/adguardhome/rule:/opt/adguardhome/rule
# 网络模式,macvlan独立IP
networks:
macvlan_net:
# 输入独立IP
ipv4_address: 192.168.x.x
ports:
# 需要开放的端口 80,443,3000,53,853,8853,67,68
# DNS 基础端口(需同时开放 TCP/UDP)
- 53:53/tcp # 标准 DNS 协议端口(TCP,用于大型 DNS 响应)
- 53:53/udp # 标准 DNS 协议端口(UDP,常规 DNS 请求)
# 加密 DNS 协议端口
- 853:853/tcp # DNS-over-TLS (DoT),加密 DNS 通信
- 853:853/udp # DNS-over-QUIC (DoQ),基于 UDP 的低延迟加密协议
#- 8853:8853/udp # 备用 DoQ 端口(部分客户端兼容性需求)
# 加密 DNS DoH 协议端口
- 443:443/tcp
- 443:443/udp
# 重定向 HTTP WebUI 管理端口
- 80:80/tcp # HTTP 管理界面
- 80:80/udp
- 3000:3000/tcp # WebUI 控制台端口
- 3000:3000/udp
# 高级功能端口(按需开放)
#- 67:67/udp # DHCP 服务端口(若需提供 DHCP 服务)
#- 68:68/udp # DHCP 客户端端口
# 重启策略,总是重启
restart: always
# 设置网络,macvlan
networks:
macvlan_net:
driver: macvlan
driver_opts:
# 指定物理网络接口,linux请用ip addr查询
parent: enp5s0
ipam:
config:
# 设置网段/子网掩码
- subnet: 192.168.x.0/24